const express = require("express");
const route = express.Router();
const path=require("path")

//引入权限校验中间件
const isLoginMiddle = require("../middleware/isLoginMiddle")

const advModel = require("../db/model/advModel")


  // 引入formData格式的解析器
  const formidable=require("formidable")

//主要是为了书写一个接口,使用我们封装好的权限验证中间件
route.put("/updateAdv", isLoginMiddle, async (req, res) => {
  // 得到id值才会知道具体需要修改结合中的那个文档
  const {
    _id
  }=req.query;

  // 接收formData表单格式传过来的数据
  const form=formidable({
    uploadDir:path.resolve(__dirname,"../upload"),
    keepExtensions:true,//是否保持后缀名
   });

  //  formData表单格式传过来的数据进行解析
   form.parse(req, async (err,params,file)=>{
    //从解析的params中拿到前台传递的数据
    const{
      advTitle,
      advType,
      advOrder,
     
    }=params;
  
    // console.log(file.advPic.newFilename)
  
    // 向数据库更新数据
   try{
    await advModel.updateOne({_id},{
      $set:{
        advTitle,
        advType,
        advOrder,
        advHref:"/upload/"+file.advPic.newFilename,
        updateTime:new Date().toLocaleString(),
      }
    })

    return res.send({
      code:10000,
      msg:"更新广告成功",
      data:null
    })
  
   }catch(e){
    console.log("更新广告数据库操作出现异常"+e.message)
    return res.send({
      cose:10001,
      msg:"更新广告数据库操作出现异常"+e.message,
      data:null
  
    })
  
   }
  
   })
  



})

module.exports = route;